//
// Created by liushuai on 2020/1/30.
//
#include "plusOne.h"
<<<<<<< HEAD:cxx/algorithm/src/plusOne.cc
#include <iostream>
std::vector<int> plusOne(std::vector<int>& digits){
    std::vector<int>result;
    int flag = 0;
    int lastElem = digits.back()+1;
    if (lastElem>=10){
        result.insert(result.begin(),lastElem%10);
        flag = 1;
        for(auto iter=digits.rbegin()+1;iter!=digits.rend(); iter++){
            int lastElem = *iter+flag;
            if(lastElem>=10){
                result.insert(result.begin(),lastElem%10);
                flag = 1;
            }else{
                result.insert(result.begin(),lastElem);
                flag = 0;
            }
    }
        if(flag)
            result.insert(result.begin(),1);
    }
    else{
        result.insert(result.begin(),lastElem);
        result.insert(result.begin(),digits.begin(),digits.end()-1);
    }
    return result;
=======

#include <iostream>
std::vector<int> plusOne(std::vector<int>& digits) {
  std::vector<int> result;
  int flag = 0;
  int lastElem = digits.back() + 1;
  if (lastElem >= 10) {
    result.insert(result.begin(), lastElem % 10);
    flag = 1;
    for (auto iter = digits.rbegin() + 1; iter != digits.rend(); iter++) {
      int lastElem = *iter + flag;
      if (lastElem >= 10) {
        result.insert(result.begin(), lastElem % 10);
        flag = 1;
      } else {
        result.insert(result.begin(), lastElem);
        flag = 0;
      }
    }
    if (flag) result.insert(result.begin(), 1);
  } else {
    result.insert(result.begin(), lastElem);
    result.insert(result.begin(), digits.begin(), digits.end() - 1);
  }
  return result;
>>>>>>> dev:cxx/algorithm/common/src/plusOne.cc
}
